

<!doctype html>

<html lang="en" data-content_root="../">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />

    <title>skidl.circuit module &#8212; SKiDL 2.2.0 documentation</title>
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
    <link rel="stylesheet" type="text/css" href="../_static/bizstyle.css?v=a66e137f" />
    
    <script src="../_static/documentation_options.js?v=b21de401"></script>
    <script src="../_static/doctools.js?v=9bcbadda"></script>
    <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
    <script src="../_static/bizstyle.js"></script>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
    <!--[if lt IE 9]>
    <script src="_static/css3-mediaqueries.js"></script>
    <![endif]-->
  </head><body>
    <h1 id="site-title"><a href="../../../"><img src="../../../images/slim_banner.png" width="100%"></a></h1>
    
    <div class="related" role="navigation" aria-label="Related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="nav-item nav-item-0"><a href="../index.html">SKiDL 2.2.0 documentation</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">skidl.circuit module</a></li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <section id="module-skidl.circuit">
<span id="skidl-circuit-module"></span><h1>skidl.circuit module<a class="headerlink" href="#module-skidl.circuit" title="Link to this heading">¶</a></h1>
<p>Circuit management in SKiDL.</p>
<p>This module provides the Circuit class which serves as the central container
for all circuit elements (parts, nets, buses) and their interconnections.
It handles hierarchical circuit structures, electrical rule checking (ERC),
and output generation (netlists, PCBs, SVGs, etc.).</p>
<dl class="py class">
<dt class="sig sig-object py" id="skidl.circuit.Circuit">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">skidl.circuit.</span></span><span class="sig-name descname"><span class="pre">Circuit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">attrs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit" title="Link to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference internal" href="skidl.skidlbaseobj.html#skidl.skidlbaseobj.SkidlBaseObject" title="skidl.skidlbaseobj.SkidlBaseObject"><code class="xref py py-class docutils literal notranslate"><span class="pre">SkidlBaseObject</span></code></a></p>
<p>Container for an entire electronic circuit design.</p>
<p>The Circuit class is the central repository for all the parts, nets, buses,
and interfaces that make up a circuit. It manages the hierarchical structure
of the design, performs electrical rule checking, and generates various outputs
like netlists, PCB files, and graphical representations.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.parts">
<span class="sig-name descname"><span class="pre">parts</span></span><a class="headerlink" href="#skidl.circuit.Circuit.parts" title="Link to this definition">¶</a></dt>
<dd><p>List of all parts in the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)">list</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.nets">
<span class="sig-name descname"><span class="pre">nets</span></span><a class="headerlink" href="#skidl.circuit.Circuit.nets" title="Link to this definition">¶</a></dt>
<dd><p>List of all nets in the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)">list</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.buses">
<span class="sig-name descname"><span class="pre">buses</span></span><a class="headerlink" href="#skidl.circuit.Circuit.buses" title="Link to this definition">¶</a></dt>
<dd><p>List of all buses in the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)">list</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.interfaces">
<span class="sig-name descname"><span class="pre">interfaces</span></span><a class="headerlink" href="#skidl.circuit.Circuit.interfaces" title="Link to this definition">¶</a></dt>
<dd><p>List of all interfaces in the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)">list</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.hierarchy">
<span class="sig-name descname"><span class="pre">hierarchy</span></span><a class="headerlink" href="#skidl.circuit.Circuit.hierarchy" title="Link to this definition">¶</a></dt>
<dd><p>Current position in the hierarchy, represented as a dot-separated string.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)">str</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.level">
<span class="sig-name descname"><span class="pre">level</span></span><a class="headerlink" href="#skidl.circuit.Circuit.level" title="Link to this definition">¶</a></dt>
<dd><p>Current level in the hierarchy.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.13/library/functions.html#int" title="(in Python v3.13)">int</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.context">
<span class="sig-name descname"><span class="pre">context</span></span><a class="headerlink" href="#skidl.circuit.Circuit.context" title="Link to this definition">¶</a></dt>
<dd><p>Stack tracking the context at each hierarchical level.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)">list</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.erc_list">
<span class="sig-name descname"><span class="pre">erc_list</span></span><a class="headerlink" href="#skidl.circuit.Circuit.erc_list" title="Link to this definition">¶</a></dt>
<dd><p>List of ERC (Electrical Rule Checking) functions to run on the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)">list</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.NC">
<span class="sig-name descname"><span class="pre">NC</span></span><a class="headerlink" href="#skidl.circuit.Circuit.NC" title="Link to this definition">¶</a></dt>
<dd><p>The special no-connect net used in this circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="skidl.net.html#skidl.net.Net" title="skidl.net.Net">Net</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.ERC">
<span class="sig-name descname"><span class="pre">ERC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.ERC"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.ERC" title="Link to this definition">¶</a></dt>
<dd><p>Perform Electrical Rule Checking on the circuit.</p>
<p>This method runs both the class-wide ERC functions and any local ERC functions
defined for this circuit. It checks for issues like unconnected pins, pin type
conflicts, etc.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>*args</strong> – Arguments to pass to the ERC functions.</p></li>
<li><p><strong>**kwargs</strong> – Keyword arguments to pass to the ERC functions.</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.activate">
<span class="sig-name descname"><span class="pre">activate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">node</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.activate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.activate" title="Link to this definition">¶</a></dt>
<dd><p>Activate a node in the circuit hierarchy.</p>
<p>This method adds the given node to the circuit’s node set, establishes
parent-child relationships in the hierarchy, and sets it as the current
active node.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>node</strong> (<a class="reference internal" href="skidl.node.html#skidl.node.Node" title="skidl.node.Node"><em>Node</em></a>) – The node instance to activate.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>The activated node instance.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="skidl.node.html#skidl.node.Node" title="skidl.node.Node">Node</a></p>
</dd>
</dl>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If an active node already exists, the new node becomes its child.
The new node then becomes the active node for subsequent operations.</p>
</div>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.add_buses">
<span class="sig-name descname"><span class="pre">add_buses</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">buses</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.add_buses"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.add_buses" title="Link to this definition">¶</a></dt>
<dd><p>Add buses to the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>*buses</strong> – Bus objects to add to the circuit.</p>
</dd>
<dt class="field-even">Raises<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/exceptions.html#ValueError" title="(in Python v3.13)"><strong>ValueError</strong></a> – If attempting to add an unmovable bus.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.add_netclasses">
<span class="sig-name descname"><span class="pre">add_netclasses</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">netclasses</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.add_netclasses"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.add_netclasses" title="Link to this definition">¶</a></dt>
<dd><p>Add one or more net classes to the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>*netclasses</strong> – One or more net classes to add to the circuit.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.add_nets">
<span class="sig-name descname"><span class="pre">add_nets</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">nets</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.add_nets"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.add_nets" title="Link to this definition">¶</a></dt>
<dd><p>Add nets to the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>*nets</strong> – Net objects to add to the circuit.</p>
</dd>
<dt class="field-even">Raises<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/exceptions.html#ValueError" title="(in Python v3.13)"><strong>ValueError</strong></a> – If attempting to add an unmovable net.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.add_partclasses">
<span class="sig-name descname"><span class="pre">add_partclasses</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">partclasses</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.add_partclasses"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.add_partclasses" title="Link to this definition">¶</a></dt>
<dd><p>Add one or more part classes to the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>*partclasses</strong> – One or more part classes to add to the circuit.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.add_parts">
<span class="sig-name descname"><span class="pre">add_parts</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">parts</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.add_parts"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.add_parts" title="Link to this definition">¶</a></dt>
<dd><p>Add parts to the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>*parts</strong> – Part objects to add to the circuit.</p>
</dd>
<dt class="field-even">Raises<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/exceptions.html#ValueError" title="(in Python v3.13)"><strong>ValueError</strong></a> – If attempting to add an unmovable part.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.add_stuff">
<span class="sig-name descname"><span class="pre">add_stuff</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">stuff</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.add_stuff"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.add_stuff" title="Link to this definition">¶</a></dt>
<dd><p>Add various circuit elements to the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>*stuff</strong> – Parts, nets, buses, or interfaces to add.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>The updated circuit.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="#skidl.circuit.Circuit" title="skidl.circuit.Circuit">Circuit</a></p>
</dd>
<dt class="field-even">Raises<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/exceptions.html#ValueError" title="(in Python v3.13)"><strong>ValueError</strong></a> – If attempting to add an unsupported type.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.backup_parts">
<span class="sig-name descname"><span class="pre">backup_parts</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">file_</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.backup_parts"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.backup_parts" title="Link to this definition">¶</a></dt>
<dd><p>Save all parts in the circuit as a SKiDL library file.</p>
<p>This creates a backup library that can be used to restore the parts
in the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>file</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em> or </em><em>file object</em><em>, </em><em>optional</em>) – File to write the library to.
If None, a standard library file will be used.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.check_for_empty_footprints">
<span class="sig-name descname"><span class="pre">check_for_empty_footprints</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.check_for_empty_footprints"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.check_for_empty_footprints" title="Link to this definition">¶</a></dt>
<dd><p>Check that all parts have assigned footprints.</p>
<p>This method calls the empty_footprint_handler for any parts that
don’t have a footprint assigned.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.check_tags">
<span class="sig-name descname"><span class="pre">check_tags</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.check_tags"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.check_tags" title="Link to this definition">¶</a></dt>
<dd><p>Check for missing part or hierarchical node tags.</p>
<p>Tags are important for maintaining stable associations between
schematic parts and PCB footprints. This method warns about any
missing tags.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.cull_unconnected_parts">
<span class="sig-name descname"><span class="pre">cull_unconnected_parts</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.cull_unconnected_parts"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.cull_unconnected_parts" title="Link to this definition">¶</a></dt>
<dd><p>Remove parts that aren’t connected to anything in the circuit.</p>
<p>This can be useful to clean up a design by removing unused parts.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.deactivate">
<span class="sig-name descname"><span class="pre">deactivate</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.deactivate"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.deactivate" title="Link to this definition">¶</a></dt>
<dd><p>Deactivate the current hierarchical node and return to its parent.</p>
<p>This method moves up one level in the circuit hierarchy by setting the
active node to its parent. The circuitry created within the current
hierarchical level remains intact in the part and net lists, but the
hierarchical context is restored to the previous level.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>None</p>
</dd>
</dl>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This method does not remove any circuit components or connections
that were added while the current node was active.</p>
</div>
</dd></dl>

<dl class="py attribute">
<dt class="sig sig-object py" id="id0">
<span class="sig-name descname"><span class="pre">erc_list</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">[&lt;function</span> <span class="pre">dflt_circuit_erc&gt;]</span></em><a class="headerlink" href="#id0" title="Link to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.generate_dot">
<span class="sig-name descname"><span class="pre">generate_dot</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">file_</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">engine</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'neato'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rankdir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'LR'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">part_shape</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'rectangle'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">net_shape</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'point'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">splines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_values</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_anon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_nets</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">['GND']</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_parts_ref</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.generate_dot"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.generate_dot" title="Link to this definition">¶</a></dt>
<dd><p>Generate a Graphviz DOT visualization of the circuit.</p>
<p>Creates a graphical representation of the circuit as a graph where parts
and nets are nodes, and connections are edges.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – File to write the DOT data to.</p></li>
<li><p><strong>engine</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Graphviz layout engine to use. Default is “neato”.</p></li>
<li><p><strong>rankdir</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Direction of graph layout. Default is “LR” (left to right).</p></li>
<li><p><strong>part_shape</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Shape to use for part nodes. Default is “rectangle”.</p></li>
<li><p><strong>net_shape</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Shape to use for net nodes. Default is “point”.</p></li>
<li><p><strong>splines</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Style for the edges. Try “ortho” for schematic-like feel.</p></li>
<li><p><strong>show_values</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/functions.html#bool" title="(in Python v3.13)"><em>bool</em></a><em>, </em><em>optional</em>) – Show part values as labels. Default is True.</p></li>
<li><p><strong>show_anon</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/functions.html#bool" title="(in Python v3.13)"><em>bool</em></a><em>, </em><em>optional</em>) – Show anonymous net names. Default is False.</p></li>
<li><p><strong>split_nets</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)"><em>list</em></a><em>, </em><em>optional</em>) – List of net names to split in visualization. Default is [“GND”].</p></li>
<li><p><strong>split_parts_ref</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)"><em>list</em></a><em>, </em><em>optional</em>) – List of part references to split in visualization.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>A Graphviz graph object.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>graphviz.Digraph</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.generate_graph">
<span class="sig-name descname"><span class="pre">generate_graph</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">file_</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">engine</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'neato'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rankdir</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'LR'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">part_shape</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'rectangle'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">net_shape</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'point'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">splines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_values</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_anon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_nets</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">['GND']</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">split_parts_ref</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#skidl.circuit.Circuit.generate_graph" title="Link to this definition">¶</a></dt>
<dd><p>Generate a Graphviz DOT visualization of the circuit.</p>
<p>Creates a graphical representation of the circuit as a graph where parts
and nets are nodes, and connections are edges.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – File to write the DOT data to.</p></li>
<li><p><strong>engine</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Graphviz layout engine to use. Default is “neato”.</p></li>
<li><p><strong>rankdir</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Direction of graph layout. Default is “LR” (left to right).</p></li>
<li><p><strong>part_shape</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Shape to use for part nodes. Default is “rectangle”.</p></li>
<li><p><strong>net_shape</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Shape to use for net nodes. Default is “point”.</p></li>
<li><p><strong>splines</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Style for the edges. Try “ortho” for schematic-like feel.</p></li>
<li><p><strong>show_values</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/functions.html#bool" title="(in Python v3.13)"><em>bool</em></a><em>, </em><em>optional</em>) – Show part values as labels. Default is True.</p></li>
<li><p><strong>show_anon</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/functions.html#bool" title="(in Python v3.13)"><em>bool</em></a><em>, </em><em>optional</em>) – Show anonymous net names. Default is False.</p></li>
<li><p><strong>split_nets</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)"><em>list</em></a><em>, </em><em>optional</em>) – List of net names to split in visualization. Default is [“GND”].</p></li>
<li><p><strong>split_parts_ref</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)"><em>list</em></a><em>, </em><em>optional</em>) – List of part references to split in visualization.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>A Graphviz graph object.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>graphviz.Digraph</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.generate_netlist">
<span class="sig-name descname"><span class="pre">generate_netlist</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.generate_netlist"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.generate_netlist" title="Link to this definition">¶</a></dt>
<dd><p>Generate a netlist for the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em> or </em><em>file object</em><em>, </em><em>optional</em>) – File to write netlist to.</p></li>
<li><p><strong>tool</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – The EDA tool to generate the netlist for.</p></li>
<li><p><strong>do_backup</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/functions.html#bool" title="(in Python v3.13)"><em>bool</em></a><em>, </em><em>optional</em>) – If True, create a library with all parts in the circuit.</p></li>
<li><p><strong>**kwargs</strong> – Additional arguments passed to the tool-specific netlist generator.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>The generated netlist as a string.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)">str</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.generate_netlistsvg_skin">
<span class="sig-name descname"><span class="pre">generate_netlistsvg_skin</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">net_stubs</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layout_options</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.generate_netlistsvg_skin"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.generate_netlistsvg_skin" title="Link to this definition">¶</a></dt>
<dd><p>Generate SVG for schematic symbols for a netlistsvg skin file.</p>
<p>This creates the SVG symbol definitions that will be used by netlistsvg
to visualize the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>net_stubs</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)"><em>list</em></a>) – List of nets that are stubbed rather than routed.</p></li>
<li><p><strong>layout_options</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – String of ELK layout options. Defaults to None.
See <a class="reference external" href="https://eclipse.dev/elk/reference/options.html">https://eclipse.dev/elk/reference/options.html</a></p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>SVG content for the skin file.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)">str</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.generate_pcb">
<span class="sig-name descname"><span class="pre">generate_pcb</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.generate_pcb"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.generate_pcb" title="Link to this definition">¶</a></dt>
<dd><p>Create a PCB file from the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em> or </em><em>file object</em><em>, </em><em>optional</em>) – File to write PCB data to.</p></li>
<li><p><strong>tool</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – The EDA tool to generate the PCB for.</p></li>
<li><p><strong>do_backup</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/functions.html#bool" title="(in Python v3.13)"><em>bool</em></a><em>, </em><em>optional</em>) – If True, create a library with all parts in the circuit.</p></li>
<li><p><strong>fp_libs</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)"><em>list</em></a><em>, </em><em>optional</em>) – List of directories containing footprint libraries.</p></li>
<li><p><strong>**kwargs</strong> – Additional arguments passed to the tool-specific PCB generator.</p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.generate_schematic">
<span class="sig-name descname"><span class="pre">generate_schematic</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.generate_schematic"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.generate_schematic" title="Link to this definition">¶</a></dt>
<dd><p>Create a schematic file from the circuit.</p>
<p>This generates a visual representation of the circuit that can be
opened in an EDA tool like KiCad’s Eeschema.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>**kwargs</strong> – Arguments for the schematic generator including:
empty_footprint_handler (function, optional): Custom handler for parts without footprints.
tool (str, optional): The EDA tool to generate the schematic for.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.generate_svg">
<span class="sig-name descname"><span class="pre">generate_svg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">file_</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tool</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layout_options</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.generate_svg"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.generate_svg" title="Link to this definition">¶</a></dt>
<dd><p>Create an SVG visualization of the circuit and return the netlistsvg input data.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Base filename to store SVG and intermediate files.</p></li>
<li><p><strong>tool</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Backend tool to use.</p></li>
<li><p><strong>layout_options</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Options to control netlistsvg/ELK layout algorithm.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>JSON dictionary that can be used as input to netlistsvg.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#dict" title="(in Python v3.13)">dict</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.generate_xml">
<span class="sig-name descname"><span class="pre">generate_xml</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">file_</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tool</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.generate_xml"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.generate_xml" title="Link to this definition">¶</a></dt>
<dd><p>Generate an XML representation of the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em> or </em><em>file object</em><em>, </em><em>optional</em>) – File to write XML data to.</p></li>
<li><p><strong>tool</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)"><em>str</em></a><em>, </em><em>optional</em>) – Backend tool to use for XML generation.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>The generated XML as a string.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#str" title="(in Python v3.13)">str</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.get_net_nc_stubs">
<span class="sig-name descname"><span class="pre">get_net_nc_stubs</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.get_net_nc_stubs"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.get_net_nc_stubs" title="Link to this definition">¶</a></dt>
<dd><p>Get all nets/buses that are stubs or no-connects.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>List of nets that are stubs or no-connects.</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)">list</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.get_nets">
<span class="sig-name descname"><span class="pre">get_nets</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.get_nets"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.get_nets" title="Link to this definition">¶</a></dt>
<dd><p>Get all distinct nets in the circuit.</p>
<p>This excludes the no-connect net, empty nets, and nets that are electrically
connected to other nets already in the result list.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>List of distinct nets in the circuit.</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#list" title="(in Python v3.13)">list</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.get_node_names">
<span class="sig-name descname"><span class="pre">get_node_names</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.get_node_names"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.get_node_names" title="Link to this definition">¶</a></dt>
<dd><p>Get the hierarchical names of all subcircuits/groups in the hierarchy.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>Tuple of hierarchical node names in the circuit hierarchy.</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#tuple" title="(in Python v3.13)">tuple</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.merge_net_names">
<span class="sig-name descname"><span class="pre">merge_net_names</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.merge_net_names"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.merge_net_names" title="Link to this definition">¶</a></dt>
<dd><p>Assign the same name to all segments of multi-segment nets.</p>
<p>This ensures that connected nets share a common name.</p>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.merge_nets">
<span class="sig-name descname"><span class="pre">merge_nets</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.merge_nets"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.merge_nets" title="Link to this definition">¶</a></dt>
<dd><p>Merge multi-segment nets into a single net.</p>
<dl class="simple">
<dt>Note: Multi-segment nets had to be merged or else tests to detect the</dt><dd><p>same net would fail in routing.py when generating schematics.
But as a result of merging, net variables can become invalid because of new merging.
Therefore, only do this when generating schematics so other generate_*() functions
will not be affected.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.mini_reset">
<span class="sig-name descname"><span class="pre">mini_reset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">init</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.mini_reset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.mini_reset" title="Link to this definition">¶</a></dt>
<dd><p>Reset the circuit to its initial state while preserving certain attributes.
This method reinitializes most circuit attributes to their default values,
including clearing parts, nets, buses, interfaces, and design classes. It
also resets counters and creates a new no-connect net.
:param init: If True, indicates this is being called during</p>
<blockquote>
<div><p>initialization. If False (default), additional setup is performed
for the default circuit’s global no-connect net.</p>
</div></blockquote>
<dl class="field-list simple">
</dl>
<div class="admonition note">
<p class="admonition-title">Note</p>
<ul class="simple">
<li><p>The circuit_stack is only initialized if it doesn’t already exist</p></li>
<li><p>When init=False and this is the default circuit, the global NC
(no-connect) net is updated</p></li>
<li><p>All unique name heaps are cleared via reset_get_unique_name()</p></li>
</ul>
</div>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.netclasses">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">netclasses</span></span><a class="headerlink" href="#skidl.circuit.Circuit.netclasses" title="Link to this definition">¶</a></dt>
<dd><p>Get the netclasses dictionary for this circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>A dictionary containing the netclasses defined for this circuit.</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#dict" title="(in Python v3.13)">dict</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.no_files">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">no_files</span></span><a class="headerlink" href="#skidl.circuit.Circuit.no_files" title="Link to this definition">¶</a></dt>
<dd><p>Control whether output files are generated.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>True if file output is suppressed, False otherwise.</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/functions.html#bool" title="(in Python v3.13)">bool</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py property">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.partclasses">
<em class="property"><span class="k"><span class="pre">property</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">partclasses</span></span><a class="headerlink" href="#skidl.circuit.Circuit.partclasses" title="Link to this definition">¶</a></dt>
<dd><p>Get the dictionary of part classes available in this circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><dl class="simple">
<dt>A dictionary mapping part class names to their corresponding</dt><dd><p>part class objects.</p>
</dd>
</dl>
</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#dict" title="(in Python v3.13)">dict</a></p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.reset">
<span class="sig-name descname"><span class="pre">reset</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">init</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.reset"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.reset" title="Link to this definition">¶</a></dt>
<dd><p>Clear any circuitry and cached part libraries and start over.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>init</strong> (<a class="reference external" href="https://docs.python.org/3.13/library/functions.html#bool" title="(in Python v3.13)"><em>bool</em></a><em>, </em><em>optional</em>) – True if this is being called during initialization.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.rmv_buses">
<span class="sig-name descname"><span class="pre">rmv_buses</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">buses</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.rmv_buses"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.rmv_buses" title="Link to this definition">¶</a></dt>
<dd><p>Remove buses from the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>*buses</strong> – Bus objects to remove from the circuit.</p>
</dd>
<dt class="field-even">Raises<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/exceptions.html#ValueError" title="(in Python v3.13)"><strong>ValueError</strong></a> – If attempting to remove an unmovable bus.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.rmv_nets">
<span class="sig-name descname"><span class="pre">rmv_nets</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">nets</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.rmv_nets"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.rmv_nets" title="Link to this definition">¶</a></dt>
<dd><p>Remove nets from the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>*nets</strong> – Net objects to remove from the circuit.</p>
</dd>
<dt class="field-even">Raises<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/exceptions.html#ValueError" title="(in Python v3.13)"><strong>ValueError</strong></a> – If attempting to remove an unmovable net.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.rmv_parts">
<span class="sig-name descname"><span class="pre">rmv_parts</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">parts</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.rmv_parts"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.rmv_parts" title="Link to this definition">¶</a></dt>
<dd><p>Remove parts from the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>*parts</strong> – Part objects to remove from the circuit.</p>
</dd>
<dt class="field-even">Raises<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/exceptions.html#ValueError" title="(in Python v3.13)"><strong>ValueError</strong></a> – If attempting to remove an unmovable part.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.rmv_stuff">
<span class="sig-name descname"><span class="pre">rmv_stuff</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">stuff</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.rmv_stuff"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.rmv_stuff" title="Link to this definition">¶</a></dt>
<dd><p>Remove various circuit elements from the circuit.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>*stuff</strong> – Parts, nets, buses, or interfaces to remove.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>The updated circuit.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="#skidl.circuit.Circuit" title="skidl.circuit.Circuit">Circuit</a></p>
</dd>
<dt class="field-even">Raises<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/exceptions.html#ValueError" title="(in Python v3.13)"><strong>ValueError</strong></a> – If attempting to remove an unsupported type.</p>
</dd>
</dl>
</dd></dl>

<dl class="py method">
<dt class="sig sig-object py" id="skidl.circuit.Circuit.to_tuple">
<span class="sig-name descname"><span class="pre">to_tuple</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/skidl/circuit.html#Circuit.to_tuple"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#skidl.circuit.Circuit.to_tuple" title="Link to this definition">¶</a></dt>
<dd><p>Create a nested tuple representation of the circuit for comparison.</p>
<p>The tuple contains sorted tuples of parts and nets information,
suitable for comparing circuits structurally.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><dl class="simple">
<dt>A tuple containing:</dt><dd><ul class="simple">
<li><p>A tuple of part representations (ref, name, lib)</p></li>
<li><p>A tuple of net representations (name, pins)</p></li>
</ul>
</dd>
</dl>
</p>
</dd>
<dt class="field-even">Return type<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.13/library/stdtypes.html#tuple" title="(in Python v3.13)">tuple</a></p>
</dd>
</dl>
</dd></dl>

</dd></dl>

</section>


            <div class="clearer"></div>
          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="Main">
        <div class="sphinxsidebarwrapper">
  <div>
    <h3><a href="../index.html">Table of Contents</a></h3>
    <ul>
<li><a class="reference internal" href="#">skidl.circuit module</a><ul>
<li><a class="reference internal" href="#skidl.circuit.Circuit"><code class="docutils literal notranslate"><span class="pre">Circuit</span></code></a><ul>
<li><a class="reference internal" href="#skidl.circuit.Circuit.parts"><code class="docutils literal notranslate"><span class="pre">Circuit.parts</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.nets"><code class="docutils literal notranslate"><span class="pre">Circuit.nets</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.buses"><code class="docutils literal notranslate"><span class="pre">Circuit.buses</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.interfaces"><code class="docutils literal notranslate"><span class="pre">Circuit.interfaces</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.hierarchy"><code class="docutils literal notranslate"><span class="pre">Circuit.hierarchy</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.level"><code class="docutils literal notranslate"><span class="pre">Circuit.level</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.context"><code class="docutils literal notranslate"><span class="pre">Circuit.context</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.erc_list"><code class="docutils literal notranslate"><span class="pre">Circuit.erc_list</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.NC"><code class="docutils literal notranslate"><span class="pre">Circuit.NC</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.ERC"><code class="docutils literal notranslate"><span class="pre">Circuit.ERC()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.activate"><code class="docutils literal notranslate"><span class="pre">Circuit.activate()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.add_buses"><code class="docutils literal notranslate"><span class="pre">Circuit.add_buses()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.add_netclasses"><code class="docutils literal notranslate"><span class="pre">Circuit.add_netclasses()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.add_nets"><code class="docutils literal notranslate"><span class="pre">Circuit.add_nets()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.add_partclasses"><code class="docutils literal notranslate"><span class="pre">Circuit.add_partclasses()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.add_parts"><code class="docutils literal notranslate"><span class="pre">Circuit.add_parts()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.add_stuff"><code class="docutils literal notranslate"><span class="pre">Circuit.add_stuff()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.backup_parts"><code class="docutils literal notranslate"><span class="pre">Circuit.backup_parts()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.check_for_empty_footprints"><code class="docutils literal notranslate"><span class="pre">Circuit.check_for_empty_footprints()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.check_tags"><code class="docutils literal notranslate"><span class="pre">Circuit.check_tags()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.cull_unconnected_parts"><code class="docutils literal notranslate"><span class="pre">Circuit.cull_unconnected_parts()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.deactivate"><code class="docutils literal notranslate"><span class="pre">Circuit.deactivate()</span></code></a></li>
<li><a class="reference internal" href="#id0"><code class="docutils literal notranslate"><span class="pre">Circuit.erc_list</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.generate_dot"><code class="docutils literal notranslate"><span class="pre">Circuit.generate_dot()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.generate_graph"><code class="docutils literal notranslate"><span class="pre">Circuit.generate_graph()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.generate_netlist"><code class="docutils literal notranslate"><span class="pre">Circuit.generate_netlist()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.generate_netlistsvg_skin"><code class="docutils literal notranslate"><span class="pre">Circuit.generate_netlistsvg_skin()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.generate_pcb"><code class="docutils literal notranslate"><span class="pre">Circuit.generate_pcb()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.generate_schematic"><code class="docutils literal notranslate"><span class="pre">Circuit.generate_schematic()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.generate_svg"><code class="docutils literal notranslate"><span class="pre">Circuit.generate_svg()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.generate_xml"><code class="docutils literal notranslate"><span class="pre">Circuit.generate_xml()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.get_net_nc_stubs"><code class="docutils literal notranslate"><span class="pre">Circuit.get_net_nc_stubs()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.get_nets"><code class="docutils literal notranslate"><span class="pre">Circuit.get_nets()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.get_node_names"><code class="docutils literal notranslate"><span class="pre">Circuit.get_node_names()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.merge_net_names"><code class="docutils literal notranslate"><span class="pre">Circuit.merge_net_names()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.merge_nets"><code class="docutils literal notranslate"><span class="pre">Circuit.merge_nets()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.mini_reset"><code class="docutils literal notranslate"><span class="pre">Circuit.mini_reset()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.netclasses"><code class="docutils literal notranslate"><span class="pre">Circuit.netclasses</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.no_files"><code class="docutils literal notranslate"><span class="pre">Circuit.no_files</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.partclasses"><code class="docutils literal notranslate"><span class="pre">Circuit.partclasses</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.reset"><code class="docutils literal notranslate"><span class="pre">Circuit.reset()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.rmv_buses"><code class="docutils literal notranslate"><span class="pre">Circuit.rmv_buses()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.rmv_nets"><code class="docutils literal notranslate"><span class="pre">Circuit.rmv_nets()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.rmv_parts"><code class="docutils literal notranslate"><span class="pre">Circuit.rmv_parts()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.rmv_stuff"><code class="docutils literal notranslate"><span class="pre">Circuit.rmv_stuff()</span></code></a></li>
<li><a class="reference internal" href="#skidl.circuit.Circuit.to_tuple"><code class="docutils literal notranslate"><span class="pre">Circuit.to_tuple()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>

  </div>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/rst_output/skidl.circuit.rst.txt"
            rel="nofollow">Show Source</a></li>
    </ul>
   </div>
<search id="searchbox" style="display: none" role="search">
  <h3 id="searchlabel">Quick search</h3>
    <div class="searchformwrapper">
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>
    </div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="Related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="nav-item nav-item-0"><a href="../index.html">SKiDL 2.2.0 documentation</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">skidl.circuit module</a></li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
    &#169; Copyright 2016-2025, Dave Vandenbout.
      Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
    </div>
  </body>
</html>